//==================================================================
/// graphics.h
///
/// Created by Davide Pasca - 2009/10/5
/// See the file "license.txt" that comes with this project for
/// copyright info. 
//==================================================================

#ifndef GRAPHICS_H
#define GRAPHICS_H

//==================================================================
//==================================================================
class graphics
{
public:
	int			mW;
	int			mH;
	adel<image>	mpoImg;

public:
	//==================================================================
	graphics( int w, int h );

	void resize( U32 w, U32 h );

	//==================================================================
	void fill( int color );

	//==================================================================
	void rect_fill( int x, int y, int w, int h, int col );

	//==================================================================
	void line_h_dk50( int x1, int x2, int y );

	//==================================================================
	void line_h_dk25( int x1, int x2, int y );

	//==================================================================
	void line_h( int x1, int x2, int y, int col );

	//==================================================================
	void line_h2( int x1, int w, int y, int col );

	//==================================================================
	void image_draw( image &img, int sx, int sy, int sw, int sh, int x, int y, int col1, int col2 );

	//==================================================================
	void image_draw( image &img, int x, int y )
	{
		image_draw( img, 0,0, img.mW,img.mH, x, y, 0 );
	}

	//==================================================================
	void image_draw( image &img, int sx, int sy, int sw, int sh, int x, int y )
	{
		image_draw( img, sx, sy, sw, sh, x, y, 0 );
	}

	//==================================================================
	void image_draw( image &img, int sx, int sy, int sw, int sh, int x, int y, int col )
	{
		image_draw( img, sx, sy, sw, sh, x, y, col, 0 );
	}

	//==================================================================
	void image_draw( image &img, int x, int y, int nw, int nh );

	//==================================================================
	void image_draw_trap( image &img, int x1a, int x2a, int ya,
											int x1b, int x2b, int yb );


	//==================================================================
	void image_draw_100_100( image &img, int x, int y, int nw, int nh );

	//==================================================================
	void image_draw_nt( image &img, int x, int y );
	//==================================================================
	void image_draw_50_50( image &img, int x, int y );
};

#endif
